- Podsumowanie analizy
- Sekcję podsumowująca rozmiar zbioru i podstawowe statystyki
- Wygląd zbioru danych
- Współrzędne geograficzne paneli
- Szczegółową analizę wartości atrybutów
- Interaktywny wykres prezentującą zmianę wytwarzanej energii w czasie i przestrzeni
- Sekcję próbującą stworzyć regresor przewidujący wytwarzaną energię przez każdy panel w ujęciu godzinowym (w tej sekcji należy wykorzystać wiedzę z pozostałych punktów oraz wykonać dodatkowe czynności, które mogą poprawić trafność predykcji); dobór parametrów modelu oraz oszacowanie jego skuteczności powinny zostać wykonane za pomocą techniki podziału zbioru na dane uczące, walidujące i testowe (uwaga na czas!); trafność regresji powinna zostać oszacowana na podstawie miary RMSE.
Podsumowanie analizy
Lalalala
Kod pokazujący wykorzystane biblioteki
library('knitr')
library(ggplot2)
library(dplyr)
library(dprep)
library(plotly)
library("highcharter")
library(png)
library(grid)Kod pozwalający wczytać dane z pliku
ladujdane <- read.csv("C:/Users/Kamila/Documents/Projekt-z-analizy-danych/elektrownie.csv")
dane <- data.frame(ladujdane)head(dane)Kod przetwarzający brakujące dane
W ramach kompletacji zbioru danych brakujące warotości uzupełniono na podstawie średniej z dostępnych danych. W niektórych atrubutach zostawiono brakujące wartości m.in. lat, lon, idmodel, day.
srednia = mean(dane$kwh)
dane<-mutate(dane,kwh = ifelse(kwh == 0, srednia, kwh))
srednia = mean(dane$irri_pvgis_mod)
dane<-mutate(dane,irri_pvgis_mod = ifelse(irri_pvgis_mod == 0, srednia, irri_pvgis_mod))
srednia = mean(dane$irr_pvgis_mod)
dane<-mutate(dane,irr_pvgis_mod= ifelse(irr_pvgis_mod == 0, srednia, irr_pvgis_mod))
srednia = mean(dane$pcnm15)
dane<-mutate(dane,pcnm15= ifelse(pcnm15 == 0, srednia, pcnm15))
srednia = mean(dane$pcnm14)
dane<-mutate(dane,pcnm14= ifelse(pcnm14 == 0, srednia, pcnm14))
srednia = mean(dane$pcnm13)
dane<-mutate(dane,pcnm13= ifelse(pcnm13== 0, srednia, pcnm13))
srednia = mean(dane$pcnm12)
dane<-mutate(dane,pcnm12= ifelse(pcnm12 == 0, srednia, pcnm12))
srednia = mean(dane$pcnm11)
dane<-mutate(dane,pcnm11= ifelse(pcnm11 == 0, srednia, pcnm11))
srednia = mean(dane$pcnm10)
dane<-mutate(dane,pcnm10= ifelse(pcnm10 == 0, srednia, pcnm10))
srednia = mean(dane$pcnm9)
dane<-mutate(dane,pcnm9= ifelse(pcnm9 == 0, srednia, pcnm9))
srednia = mean(dane$pcnm8)
dane<-mutate(dane,pcnm8= ifelse(pcnm8 == 0, srednia, pcnm8))
srednia = mean(dane$pcnm7)
dane<-mutate(dane,pcnm7= ifelse(pcnm7 == 0, srednia, pcnm7))
srednia = mean(dane$pcnm6)
dane<-mutate(dane,pcnm6= ifelse(pcnm6 == 0, srednia, pcnm6))
srednia = mean(dane$pcnm5)
dane<-mutate(dane,pcnm5= ifelse(pcnm5 == 0, srednia, pcnm5))
srednia = mean(dane$pcnm4)
dane<-mutate(dane,pcnm4= ifelse(pcnm4 == 0, srednia, pcnm4))
srednia = mean(dane$pcnm3)
dane<-mutate(dane,pcnm3= ifelse(pcnm3 == 0, srednia, pcnm3))
srednia = mean(dane$pcnm2)
dane<-mutate(dane,pcnm2= ifelse(pcnm2 == 0, srednia, pcnm2))
srednia = mean(dane$pcnm1)
dane<-mutate(dane,pcnm1= ifelse(pcnm1 == 0, srednia, pcnm1))
srednia = mean(dane$altitudei)
dane<-mutate(dane,altitudei= ifelse(altitudei == 0, srednia, altitudei))
srednia = mean(dane$altitude)
dane<-mutate(dane,altitude= ifelse(altitude== 0, srednia, altitude))
srednia = mean(dane$dist)
dane<-mutate(dane,dist= ifelse(dist == 0, srednia, dist))
srednia = mean(dane$cloudcoveri)
dane<-mutate(dane,cloudcoveri= ifelse(cloudcoveri == 0, srednia,cloudcoveri))
srednia = mean(dane$windbearingi)
dane<-mutate(dane,windbearingi= ifelse(windbearingi== 0, srednia,windbearingi))
srednia = mean(dane$dewpointi)
dane<-mutate(dane,dewpointi= ifelse(dewpointi == 0, srednia,dewpointi))
srednia = mean(dane$humidityi)
dane<-mutate(dane,humidityi= ifelse(humidityi == 0, srednia,humidityi))
srednia = mean(dane$cloudcover)
dane<-mutate(dane,cloudcover= ifelse(cloudcover == 0, srednia,cloudcover))
srednia = mean(dane$windbearing)
dane<-mutate(dane,windbearing= ifelse(windbearing== 0, srednia,windbearing))
srednia = mean(dane$dewpoint)
dane<-mutate(dane,dewpoint= ifelse(dewpoint == 0,srednia,dewpoint))
srednia = mean(dane$icon)
dane<-mutate(dane,icon= ifelse(icon == 0, srednia,icon))
srednia = mean(dane$humidity)
dane<-mutate(dane,humidity= ifelse(humidity == 0, srednia,humidity))
srednia = mean(dane$windspeed)
dane<-mutate(dane,windspeed= ifelse(windspeed == 0, srednia,windspeed))
srednia = mean(dane$pressure)
dane<-mutate(dane,pressure= ifelse(pressure== 0, srednia,pressure))Sekcję podsumowująca rozmiar zbioru i podstawowe statystyki
Rozmiar zbioru liczba wierszy oraz kolumn:
## [1] 230141 51
Podstawowe statystyki:
## id idsito idmodel idbrand
## Min. : 1 Min. :0.0000 Min. :0.000 Min. :0.0000
## 1st Qu.: 99880 1st Qu.:0.1000 1st Qu.:0.167 1st Qu.:0.0830
## Median :158870 Median :0.2250 Median :0.208 Median :0.1670
## Mean :153039 Mean :0.2153 Mean :0.243 Mean :0.1514
## 3rd Qu.:217634 3rd Qu.:0.3250 3rd Qu.:0.292 3rd Qu.:0.1670
## Max. :276488 Max. :0.4250 Max. :0.750 Max. :0.4170
##
## lat lon ageinmonths anno
## Min. :0.4150 Min. :0.1540 Min. :0.0000 Min. :2012
## 1st Qu.:0.4370 1st Qu.:0.6200 1st Qu.:0.0000 1st Qu.:2012
## Median :0.4370 Median :0.6240 Median :0.1250 Median :2012
## Mean :0.4498 Mean :0.5699 Mean :0.3103 Mean :2012
## 3rd Qu.:0.4390 3rd Qu.:0.6300 3rd Qu.:0.7190 3rd Qu.:2013
## Max. :0.5530 Max. :0.6910 Max. :1.0000 Max. :2013
##
## day ora data
## Min. :0.0000 Min. :0.0000 1/1/2013 10:00: 17
## 1st Qu.:0.2470 1st Qu.:0.2220 1/1/2013 11:00: 17
## Median :0.4770 Median :0.5000 1/1/2013 12:00: 17
## Mean :0.4694 Mean :0.4999 1/1/2013 13:00: 17
## 3rd Qu.:0.6880 3rd Qu.:0.7780 1/1/2013 14:00: 17
## Max. :1.0000 Max. :1.0000 1/1/2013 15:00: 17
## (Other) :230039
## temperatura_ambiente irradiamento pressure windspeed
## Min. :0.045 Min. :0.0000 Min. :0.6495 Min. :0.00100
## 1st Qu.:0.212 1st Qu.:0.0000 1st Qu.:0.7480 1st Qu.:0.04200
## Median :0.348 Median :0.0370 Median :0.7530 Median :0.06700
## Mean :0.375 Mean :0.1105 Mean :0.7387 Mean :0.07683
## 3rd Qu.:0.530 3rd Qu.:0.2080 3rd Qu.:0.7550 3rd Qu.:0.10300
## Max. :0.818 Max. :0.7100 Max. :0.7680 Max. :0.69600
##
## humidity icon dewpoint windbearing
## Min. :0.160 Min. :0.0830 Min. :0.1390 Min. :0.0020
## 1st Qu.:0.530 1st Qu.:0.4678 1st Qu.:0.5360 1st Qu.:0.3080
## Median :0.690 Median :0.6670 Median :0.6220 Median :0.4730
## Mean :0.681 Mean :0.5570 Mean :0.6071 Mean :0.4546
## 3rd Qu.:0.840 3rd Qu.:0.6670 3rd Qu.:0.6840 3rd Qu.:0.6600
## Max. :1.000 Max. :0.7500 Max. :0.8650 Max. :0.7690
##
## cloudcover tempi irri pressurei
## Min. :0.0100 Min. :0.0090 Min. :0.1080 Min. :0.0000000
## 1st Qu.:0.3100 1st Qu.:0.0740 1st Qu.:0.2160 1st Qu.:0.0000000
## Median :0.3589 Median :0.1110 Median :0.2200 Median :0.0000000
## Mean :0.4162 Mean :0.1234 Mean :0.2221 Mean :0.0002186
## 3rd Qu.:0.5100 3rd Qu.:0.1270 3rd Qu.:0.2220 3rd Qu.:0.0000000
## Max. :1.0000 Max. :0.9830 Max. :1.0000 Max. :1.0000000
##
## windspeedi humidityi dewpointi windbearingi
## Min. :0.00000 Min. :0.03400 Min. :0.0630 Min. :0.0400
## 1st Qu.:0.03700 1st Qu.:0.04400 1st Qu.:0.1140 1st Qu.:0.3360
## Median :0.03800 Median :0.04400 Median :0.1140 Median :0.3360
## Mean :0.03852 Mean :0.06383 Mean :0.1194 Mean :0.3456
## 3rd Qu.:0.03900 3rd Qu.:0.06200 3rd Qu.:0.1180 3rd Qu.:0.3390
## Max. :1.00000 Max. :0.57900 Max. :0.4150 Max. :1.0000
##
## cloudcoveri dist altitude azimuth
## Min. :0.0490 Min. :0.005464 Min. :0.1110 Min. :0.1280
## 1st Qu.:0.1960 1st Qu.:0.185792 1st Qu.:0.4210 1st Qu.:0.2950
## Median :0.1960 Median :0.448087 Median :0.5660 Median :0.4230
## Mean :0.2059 Mean :0.459202 Mean :0.5488 Mean :0.4542
## 3rd Qu.:0.1980 3rd Qu.:0.704918 3rd Qu.:0.6840 3rd Qu.:0.6360
## Max. :1.0000 Max. :1.000000 Max. :0.8840 Max. :0.8180
##
## altitudei azimuthi pcnm1 pcnm2
## Min. :0.0080 Min. :0.0000 Min. :0.3750 Min. :0.0950
## 1st Qu.:0.0960 1st Qu.:0.2090 1st Qu.:0.3780 1st Qu.:0.2710
## Median :0.1370 Median :0.2900 Median :0.3790 Median :0.3770
## Mean :0.2054 Mean :0.3667 Mean :0.4473 Mean :0.3758
## 3rd Qu.:0.2660 3rd Qu.:0.4860 3rd Qu.:0.3840 3rd Qu.:0.4220
## Max. :0.9820 Max. :1.0000 Max. :1.0000 Max. :0.9720
##
## pcnm3 pcnm4 pcnm5 pcnm6
## Min. :0.2850 Min. :0.0580 Min. :0.0410 Min. :0.2350
## 1st Qu.:0.5660 1st Qu.:0.4380 1st Qu.:0.4030 1st Qu.:0.3580
## Median :0.6050 Median :0.5310 Median :0.4270 Median :0.4930
## Mean :0.6385 Mean :0.5484 Mean :0.4405 Mean :0.5236
## 3rd Qu.:0.7300 3rd Qu.:0.6340 3rd Qu.:0.4620 3rd Qu.:0.4949
## Max. :1.0000 Max. :1.0000 Max. :1.0000 Max. :1.0000
##
## pcnm7 pcnm8 pcnm9 pcnm10
## Min. :0.0110 Min. :0.041 Min. :0.0720 Min. :0.4320
## 1st Qu.:0.0400 1st Qu.:0.217 1st Qu.:0.5320 1st Qu.:0.6190
## Median :0.0600 Median :0.412 Median :0.5320 Median :0.6190
## Mean :0.1203 Mean :0.427 Mean :0.5708 Mean :0.6653
## 3rd Qu.:0.1140 3rd Qu.:0.511 3rd Qu.:0.6000 3rd Qu.:0.7170
## Max. :1.0000 Max. :1.000 Max. :1.0000 Max. :1.0000
##
## pcnm11 pcnm12 pcnm13 pcnm14
## Min. :0.0640 Min. :0.498 Min. :0.1370 Min. :0.3650
## 1st Qu.:0.3120 1st Qu.:0.748 1st Qu.:0.6140 1st Qu.:0.4730
## Median :0.3270 Median :0.760 Median :0.6140 Median :0.4730
## Mean :0.3445 Mean :0.801 Mean :0.6498 Mean :0.5172
## 3rd Qu.:0.3270 3rd Qu.:0.884 3rd Qu.:0.7380 3rd Qu.:0.5300
## Max. :1.0000 Max. :1.000 Max. :1.0000 Max. :1.0000
##
## pcnm15 irr_pvgis_mod irri_pvgis_mod kwh
## Min. :0.1500 Min. :0.0010 Min. :-0.025 Min. :0.0010
## 1st Qu.:0.6120 1st Qu.:0.1793 1st Qu.: 0.158 1st Qu.:0.1070
## Median :0.6140 Median :0.1793 Median : 0.194 Median :0.1702
## Mean :0.6044 Mean :0.2499 Mean : 0.197 Mean :0.2263
## 3rd Qu.:0.6150 3rd Qu.:0.3300 3rd Qu.: 0.214 3rd Qu.:0.3350
## Max. :1.0000 Max. :1.0000 Max. : 1.006 Max. :1.0000
##
Wygląd zbioru danych
daneWspółrzędne geograficzne paneli
Panele fotowoltaiczne współrzędne geograficzne lokazlizacje:
## lat lon
## [1,] 43.7 63.1
## [2,] 43.7 62.0
## [3,] 43.9 62.6
## [4,] 44.0 61.2
## [5,] 43.6 62.6
## [6,] 55.2 15.4
## [7,] 55.3 16.0
## [8,] 41.5 69.1
## [9,] 43.7 62.4
## [10,] 44.0 58.5
## [11,] 43.8 63.0
## [12,] 43.6 62.5
## [13,] 43.7 62.2
## [14,] 43.4 63.0
Po graficznej analizie współrzędnych geograficznych zauważono, że lokalizacja paneli znajduje się nie we Włoszech tylko w Uzbekistanie oraz Kazachstanie.
W ramach analizy wykorzystano https://www.wspolrzedne-gps.pl/
W zbiorze danych znajduje się 14 lokalizacji.
Oraz 17 paneli fotowoltaicznych:
## [1] 0.425 0.250 0.350 0.325 0.000 0.375 0.400 0.125 0.225 0.075 0.300
## [12] 0.150 0.200 0.050 0.025 0.275 0.100